-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
sceNpTrophy: Fix sceNpTrophyRegisterContext for handler abortion #9586
Conversation
Using recursive mutex is considered a bad practice. Did you think of better workarounds? |
A small hack can be made so it reruns all error checks and calls get_context_ex twice before and after first callback including the INITIALIZED check. (with unlock, callback(), relock mutex) Who knows maybe fw does something similar as well. |
Well, typical workflow with normal mutex is lock - update - unlock, where update doubtfully allows some arbitrary code such as a callback to execute. Something like relocking after callback seems more sound. |
Done. |
30f8af5
to
0846938
Compare
|
262d5c4
to
1cc8dee
Compare
Wait a second, this is not sceNpTrophyAbortHandle right? |
* Implement handler abortion during context registeration. * Fixed recursive calls to sceNpTrophy functions such as by callbacks from registering context. * Turns out the reader lock for context registeration was incorrect because ctxt->tropusr and trophy directory are being modified. made it an exclusive lock after callback.
this one fixed the Splinter Cell Trilogy stuck at intro |
Emulation Features
Bugfixes
Fixes #9415